package edzest.basic;

public class J14_SungJukVO {
	// VO 클래스 : value object
	// VO 클래스 : 프라이빗 멤버변수 선언 + sett/getter + toString
	// 클래스는 보통 객체의 특성을 의미하는 멤버변수와
	// 객체의 동작/행위를 의미하는 메서드로 구성
	
	// 하지만, MVC 패턴과 스프링 프로젝트 시
	// 클래스를 [특성] 전용/[동작] 전용으로 나눠
	// 작성하는 방식을 적용하는 추세임
	
	// 따라서, VO 클래스를 작성한다고 하면
	// 값만을 저장하기 위한 클래스를 생성하면 됨
	
	// 멤버변수 선언
	private String name;
	private int kor;
	private int eng;
	private int mat;

	// 생성자 정의
	public J14_SungJukVO(String name, int kor, int eng, int mat) {
		this.name = name;
		this.kor = kor;
		this.eng = eng;
		this.mat = mat;
	}

	public J14_SungJukVO(String name, int kor) {
		this.name = name;
		this.kor = kor;
	}
	
	

	// setter/getter
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getKor() {
		return kor;
	}

	public void setKor(int kor) {
		this.kor = kor;
	}

	public int getEng() {
		return eng;
	}

	public void setEng(int eng) {
		this.eng = eng;
	}

	public int getMat() {
		return mat;
	}

	public void setMat(int mat) {
		this.mat = mat;
	}	
	
	// toString 메서드 재정의
	@Override
	public String toString() {
		String result;
		result = " 이름: " + name;
		result += " 국어: " + kor;
		result += " 영어: " + eng;
		result += " 수학: " + mat;
		return result.toString();
	}
}
